home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / SNNSV32.ZIP / SNNSv3.2 / kernel / sources / kr_const.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-25  |  5.1 KB  |  190 lines

  1. /*****************************************************************************
  2.   FILE           : kr_const.h
  3.   SHORTNAME      : const.h
  4.   SNNS VERSION   : 3.2
  5.  
  6.   PURPOSE        : SNNS-Kernel Constants
  7.   NOTES          :
  8.  
  9.   AUTHOR         : Niels Mache
  10.   DATE           : 01.03.90
  11.  
  12.   CHANGED BY     : Sven Doering
  13.   IDENTIFICATION : @(#)kr_const.h    1.17 4/7/94
  14.   SCCS VERSION   : 1.17
  15.   LAST CHANGE    : 4/7/94
  16.  
  17.              Copyright (c) 1990-1994  SNNS Group, IPVR, Univ. Stuttgart, FRG
  18.  
  19. ******************************************************************************/
  20. #ifndef KR_CONSTANTS
  21.  
  22. #define KR_CONSTANTS
  23.  
  24. /*  flag modifier:
  25.  
  26.            |------------------------------ Direct Link Flag
  27.            |  |--------------------------- Site Flag
  28.            |  |  |------------------------ |
  29.            |  |  |  |--------------------- | Topologic Type Flags
  30.            |  |  |  |  |------------------ |
  31.            |  |  |  |  |  |--------------- |
  32.            |  |  |  |  |  |  |------------ Refresh Flag
  33.            |  |  |  |  |  |  |    |--------- Enable Flag
  34.            |  |  |  |  |  |  |    |  |------ In-Use Flag
  35.            |  |  |  |  |  |  |    |  |  |--- Allocation Flag
  36.  
  37. 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
  38. -----------------------------------------------
  39.                                            0  0  : Unit is free and may be allocated
  40.                                            0  1  : Unit is now allocated, but not ready to use
  41.                        1  0  : Unit is allocated and ready to use
  42.                        1  1  : Unit is allocated and ready to use
  43.  
  44.                                         0 -----  : Unit is freezed
  45.                                         1 -----  : Unit is active (will be updated during next cycle)
  46.  
  47.                                      0 --------  : Unit is not updated now
  48.                                      1 --------  : Unit is currently updated
  49.  
  50.              0  0  0  0 -----------  : Unknown topologic type
  51.              0  0  0  1 -----------  : Input type
  52.              0  0  1  0 -----------  : Output type
  53.              0  0  1  1 -----------  : Dual type (input and output)
  54.              0  1  0  0 -----------  : Hidden type
  55.              1  0  0  0 -----------  : Special type (no weight adjustment of input links)
  56.  
  57.            0  0 -----------------------  : Unit has no inputs (no links and no Sites)
  58.            0  1 -----------------------  : Unit has at least one site (and no direct wired inputs)
  59.            1  0 -----------------------  : Unit has direct input links (and no sites)
  60.            1  1 -----------------------  : -- NOT USED --
  61.  
  62. */
  63.  
  64. #define  UFLAG_FREE     0x0000
  65. #define  UFLAG_NOT_FREE  0x0001
  66. #define  UFLAG_IN_USE     0x0002
  67.  
  68. #define  UFLAG_INITIALIZED   0x0007
  69. #define  UFLAG_ENABLED     0x0004
  70.  
  71. #define  UFLAG_REFRESH     0x0008
  72.  
  73. #define  UFLAG_TTYP_PAT  0x00f0
  74. #define  UFLAG_TTYP_UNKN 0x0000
  75. #define  UFLAG_TTYP_IN     0x0010
  76. #define  UFLAG_TTYP_OUT  0x0020
  77. #define  UFLAG_TTYP_DUAL 0x0030
  78. #define  UFLAG_TTYP_HIDD 0x0040
  79. #define  UFLAG_TTYP_SPEC 0x0080
  80. #define  UFLAG_TTYP_SPEC_I 0x0090
  81. #define  UFLAG_TTYP_SPEC_O 0x00a0
  82. #define  UFLAG_TTYP_SPEC_H 0x00c0
  83. #define  UFLAG_TTYP_SPEC_D 0x00b0
  84. #define  UFLAG_TTYP_SPEC_X 0x00FE   /* only used to identfy toggle */
  85. #define  UFLAG_TTYP_N_SPEC_X 0x00FF /* only used to identfy toggle */
  86.  
  87. #define  UFLAG_INPUT_PAT 0x0300
  88. #define  UFLAG_NO_INP     0x0000
  89. #define  UFLAG_SITES     0x0100
  90. #define  UFLAG_DLINKS     0x0200
  91.  
  92.  
  93. /*  The unit output identity function is the NULL pointer
  94. */
  95. #define     OUT_IDENTITY    NULL
  96.  
  97.  
  98.  
  99. /* ***********************************************************
  100.  
  101.           Constants for selectors
  102.  
  103. *********************************************************** */
  104. /*  modes for unit counting
  105. */
  106. #define  UNIT_DELETE  1
  107. #define  UNIT_ADD     2
  108.  
  109. /*  topologic sorting modes
  110. */
  111.  
  112. #define  NOT_SORTED      0
  113. #define  TOPOLOGICAL      1
  114. #define  TOPOLOGICAL_FF   2
  115. #define  TOPOLOGIC_TYPE   3
  116. #define  PERMUTATION      4
  117. #define  ART1_TOPO_TYPE   5
  118. #define  ART2_TOPO_TYPE   6
  119. #define  ARTMAP_TOPO_TYPE 7
  120. #define  TOPOLOGICAL_CC  8
  121. #define  TOPOLOGICAL_RCC 9
  122. #define  TOPOLOGICAL_BCC 10
  123. #define  TOPOLOGIC_LOGICAL 11
  124. #define  TOPOLOGICAL_JE  12
  125.  
  126. /*  unit component selectors
  127. */
  128. #define  SEL_UNIT_ACT  1
  129. #define  SEL_UNIT_OUT  2
  130. #define  SEL_UNIT_IACT  3
  131. #define  SEL_UNIT_BIAS  4
  132. #define  SEL_UNIT_ALL   5
  133. #define  SEL_UNIT_VALA 6
  134.  
  135. /*  link searching selectors
  136. */
  137. #define  FIRST      1
  138. #define  NEXT      2
  139. #define  CURRENT  3
  140. #define  NAME      4
  141.  
  142. /*  function searching in function table
  143. */
  144. #define  GET_NO_OF_FUNCS  1
  145. #define  GET_FUNC_INFO    2
  146. #define  SEARCH_FUNC      3
  147. #define  GET_FUNC_NAME    4
  148. #define  GET_DEFAULT_FUNC 5
  149.  
  150. /*  link delete selectors
  151. */
  152. #define  INPUTS   0
  153. #define  OUTPUTS  1
  154.  
  155. /*  pattern function selectors
  156. */
  157. #define  PATTERN_SET  1
  158. #define  PATTERN_GET  2
  159. #define  PATTERN_DELETE  3
  160. #define  PATTERN_MODIFY  4
  161. #define  PATTERN_SHOW     5
  162. #define  PATTERN_NEW  6
  163. #define  PATTERN_DELETE_ALL  7
  164. #define  PATTERN_SHUFFLE_ON  8
  165. #define  PATTERN_SHUFFLE_OFF 9
  166. #define  PATTERN_VECTOR_NEW  10
  167. #define  PATTERN_ARRAY_ALLOC 11
  168. #define  PATTERN_SET_NUMBER  12
  169. #define  PATTERN_GET_NUMBER  13
  170. #define  PATTERN_SUB_SHUFFLE_ON 14
  171. #define  PATTERN_SUB_SHUFFLE_OFF 15
  172. #define  GET_SHUFFLE_FLAG 16
  173. #define  GET_SUB_SHUFFLE_FLAG 17
  174.  
  175.  
  176. /*#################################################
  177.  
  178. GROUP: Parallel kernel constants
  179.  
  180. #################################################*/
  181.  
  182.  
  183. #endif
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.